import { createAppSlice } from '@/utils/redux/createAppSlice';

let initState = () => ({
  /********************* 会话 ********************/

  // 会话列表
  chatsList: [],

  // 选中的会话
  selectedChat: null,

  // 选中的会话 item
  selectedItem: null,

  // 模型列表
  templatesList: [],

  // 选中的模型
  selectedModel: '',

  // 聊天记录
  messages: [],

  // 聊天加载状态
  chatLoading: false,

  // 回话接口是否准备完毕
  selectedChatInit:false,

  //工具调用对象
  toolObj:{},

  /******************* 预览 *******************/

  // 预览侧边栏
  openPreview: false,

  // 预览分类 e2b || iframe
  previewType: 'ppt',

  // 生成的代码的部分
  fragment: {},

  // e2b 预览地址
  codeResult: {},

  // tab
  currentTab: 'code',

  // 当前选中 index
  itemIndex: 0,

  /******************* ppt相关逻辑 *******************/
  pptData:{
    id:'',
    title:'项目汇报',
  },
  editMode:false,
  pptSetTextOpen:false,
  pptSetBoxOpen:false,
  pptSetTextData:{},
});

var counterSlice = createAppSlice({
  name: 'ppt',
  initialState: { ...initState() },
  reducers: (create) => ({
    setState(state, action) {
      return { ...state, ...action.payload };
    },
    init(state, action) {
      return { ...initState(), ...action.payload };
    },
  }),
});

export default counterSlice;
